﻿namespace CamlQueryCreator.Common
{
    /// <summary>
    /// Дополнительный элемент CAML-запроса для сортировки результатов.
    /// </summary>
    public sealed class CamlOrderAdditionElement : CamlOrderElement
    {
        /// <summary>
        /// Дополнительный элемент CAML-запроса для сортировки результатов.
        /// <para>Конструктор.</para>
        /// </summary>
        internal CamlOrderAdditionElement(CamlOrderElement parentBuilder, IListFieldInfoBase fieldInfo, bool isAscending)
            : base(parentBuilder, fieldInfo.Name, isAscending)
        {
        }

        /// <summary>
        /// Дополнительный элемент CAML-запроса для сортировки результатов.
        /// <para>Конструктор.</para>
        /// </summary>
        internal CamlOrderAdditionElement(CamlOrderElement parentBuilder, string fieldName, bool isAscending)
            : base(parentBuilder, fieldName, isAscending)
        {
        }

        #region Overrides of CamlBase

        protected override string GetQuery(string childQuery)
        {
            return string.Format("{0}{1}", GetRefFieldQuery(), childQuery);
        }

        #endregion
    }
}
